/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package adsreis.com.Controls;

import adsreis.com.Beans.PerdasdetBean;
import adsreis.com.acessobd.AcessoMySql;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Pauroenriki
 */
public class PerdasdetControl {
     PreparedStatement pstm;
    ResultSet rs;
    String cadastraItem = "INSERT INTO PERDASDET(IDPERDA,IDPRODUTO, QTDPERDA) VALUES(?,?,?)";
    String buscaUltimoCodigo = "SELECT MAX(CODPERDA) AS CODPERDA FROM PERDASDET";
    String deleta = "DELETE FROM PERDASDET WHERE IDPERDA = ?";
    String consultaItens = "SELECT PERDASDET.IDPERDA, PERDASDET.IDPRODUTO, PRODUTOS.DESCRICAO, PRODUTOS.MARCA, PRODUTOS.VLRVENDA, PERDASDET.QTDPERDA FROM PERDASDET, PRODUTOS WHERE PERDASDET.IDPERDA LIKE ? AND PERDASDET.IDPRODUTO = PRODUTOS.CODPRODUTO";
    
    public PerdasdetControl(){
        
    }
    
    
    public void excluirPerdasDET(int idperda){
        try{
            AcessoMySql mysql = new AcessoMySql();
           pstm = mysql.conectar().prepareStatement(deleta); 
           pstm.setInt(1, idperda);
           pstm.executeUpdate();
           mysql.desconectar();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    
     public int buscarCodigoUltimaPerda(){
        try{
            AcessoMySql mysql = new AcessoMySql();
            pstm = mysql.conectar().prepareStatement(buscaUltimoCodigo);
            rs = pstm.executeQuery();
            if (rs.last()){
                return rs.getInt("codperda");                
            }
            mysql.desconectar();
        }catch (SQLException ex){
            ex.printStackTrace();
        }
        return 0;
    }
    
    public void cadastrarItem(PerdasdetBean perdasdet){
        try{
            AcessoMySql mysql = new AcessoMySql();
            pstm = mysql.conectar().prepareStatement(cadastraItem);
            pstm.setInt(1, perdasdet.getIDPerda());
            pstm.setString(2, perdasdet.getIDProduto());            
            pstm.setInt(3, perdasdet.getQtdPerda());
            pstm.executeUpdate();
            mysql.desconectar();
        }catch(SQLException ex){
            ex.printStackTrace();
        }
    }
    
    public List<PerdasdetBean> listarItens(Integer idorcamento){
        try {
            AcessoMySql mysql = new AcessoMySql();
            pstm = mysql.conectar().prepareStatement(consultaItens);
            
            pstm.setInt(1, idorcamento);
            
            rs = pstm.executeQuery();
            List<PerdasdetBean> orcamento = new ArrayList<>();
            while (rs.next()){
                PerdasdetBean ob = new PerdasdetBean();
                ob.setIDPerda(rs.getInt("perdasdet.idperda"));
                ob.setIDProduto(rs.getString("perdasdet.idproduto"));
                ob.setDescricaoproduto(rs.getString("produtos.descricao"));
                ob.setMarca(rs.getString("produtos.marca"));
                ob.setPreco(rs.getDouble("produtos.vlrvenda"));
                ob.setQtdPerda(rs.getInt("perdasdet.qtdperda"));
                orcamento.add(ob);
            }
            mysql.desconectar();
            return orcamento;
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return null;
    }
    
}
